package com.ruoyi.examination.mapper;

import java.util.List;

import com.ruoyi.examination.domain.Projects;
import com.ruoyi.examination.domain.QuestionGroup;
import com.ruoyi.examination.vo.QuestionGroupSelectVo;

/**
 * 题组管理Mapper接口
 * 
 * @author hcc
 * @date 2025-10-21
 */
public interface QuestionGroupMapper 
{
    /**
     * 查询题组管理
     * 
     * @param groupId 题组管理主键
     * @return 题组管理
     */
    public QuestionGroup selectQuestionGroupByGroupId(String groupId);

    /**
     * 查询题组管理列表
     * 
     * @param questionGroup 题组管理
     * @return 题组管理集合
     */
    public List<QuestionGroup> selectQuestionGroupList(QuestionGroup questionGroup);

    /**
     * 新增题组管理
     * 
     * @param questionGroup 题组管理
     * @return 结果
     */
    public int insertQuestionGroup(QuestionGroup questionGroup);

    /**
     * 修改题组管理
     * 
     * @param questionGroup 题组管理
     * @return 结果
     */
    public int updateQuestionGroup(QuestionGroup questionGroup);

    /**
     * 删除题组管理
     * 
     * @param groupId 题组管理主键
     * @return 结果
     */
    public int deleteQuestionGroupByGroupId(String groupId);

    /**
     * 批量删除题组管理
     * 
     * @param groupIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteQuestionGroupByGroupIds(String[] groupIds);

    /**
     * 获取题组列表
     * @param questionGroupSelectVo
     * @return
     */
    public List<QuestionGroup> getList(QuestionGroupSelectVo questionGroupSelectVo);

    /**
     * 获取项目名称
     * @param trainingProjectId
     * @return
     */
    public Projects selectProjectName(String trainingProjectId);

    /**
     * 获取题组列表
     * @param groupIds
     * @return
     */
    public List<QuestionGroup> selectQuestionGroupByGroupIds(List<String> groupIds);

    /**
     * 获取已关联题组列表
     * @param questionGroupSelectVo
     * @return
     */
    public List<QuestionGroup> getAssociatedList(QuestionGroupSelectVo questionGroupSelectVo);
}
